The present invention relates to information transmission, retrieval, reception, and distribution over a network, and more specifically, to a system and protocol for interactive multimedia services in a broadband network.
A Video-on-Demand (xe2x80x9cVODxe2x80x9d) system combines a video display system such as a user""s TV set or personal computer with information retrieval technology. This technology usually provides a specific electronic video service based on user""s requests over a network. Applications of VOD include entertainment services such as movie-on-demand service, news-on-demand service, and remote learning.
In true VOD, a user is allowed to select any program from remote content archives at any time. Those archives can include audio and video materials, and multimedia titles. In addition, the user is allowed to interact at any time with the programs using operations including random access to any point in a program, fast-forward, rewind, pause/resume, slow-motion play, and other VCR-like controls.
A VOD system that does not meet all these requirements is called a near VOD system. Near-VOD is often used in order to conserve or more efficiently use system resources. True VOD service is more desirable in order to compete with existing video rental services.
FIG. 1A shows a generic VOD system 100. Multiple users 120 are served by networked servers 102 and 107 over a network 103. The solid lines represent the data flow for video and other data. The dashed lines represent the communication signal flow for controls and requests. Arrows indicate the flow direction.
The information sources of the system 100 are the networked remote server 102 connected to a backbone network 104 and the local server 107 in an access node 106. Servers 102 and 107 can include one or multiple servers that have massive storage devices and media controllers for storing a large number of databases including videos, multimedia titles, interactive games and others. Servers 102 and 107 are capable of serving a considerable number of simultaneous user requests to the same or to different programs on demand.
One or more electronic controllers 130 are deployed in the network 103 to control and monitor the operations of the VOD system 100. A controller may be a computer that controls the networked servers to operate under an operation protocol. The basic functions supported by the controller include request handling, support of user interactions, admission control and quality-of-service guarantees.
Storage media for servers 102 and 107 usually include magnetic disks, optical disks, and magnetic tapes. Such media are usually organized hierarchically to increase cost-effectiveness. For example, the more popular programs are stored on random access media, such as magnetic disks, for fast access and expedited distribution. The less-popular programs are stored in devices with longer access latencies such as a tape drive, and retrieved as necessary to a disk drive for processing.
The backbone network 104 may include high-speed switches and transport protocols which connect remote servers at geographically dispersed locations. One trend is towards a synchronous optical network (xe2x80x9cSONETxe2x80x9d) backbone with asynchronous transfer mode (xe2x80x9cATMxe2x80x9d) switching because of their low error rate, high data transfer rate, capability of bandwidth-on-demand, and seamless services.
An access node 106 serves as a bridge between the backbone network 104 and access network 110. A plurality of such access nodes are deployed to link multiple access networks to the backbone network. Depending on the system implementation, the access node 106 may be a head-end in CATV networks, a central office in a telephone network, or a base station in mobile systems. The access node 106 may be equipped with satellite dishes to receive analog broadcast TV programs. Examples of access networks include a hybrid fiber coax (xe2x80x9cHFCxe2x80x9d) system, asymmetric digital subscriber loop (xe2x80x9cADSLxe2x80x9d) system, fiber to the curb (xe2x80x9cFTTCxe2x80x9d) system, wireless cable system, and direct broadcast satellite (xe2x80x9cDBSxe2x80x9d) system.
A subscriber terminal unit or xe2x80x9cset-top boxxe2x80x9d 120 in FIG. 1A forms an interface between the user and the VOD network. It receives, demodulates, and decodes the information. The user can interact with the VOD system by sending out control commands and service requests, typically through a remote control. The set-top box has interfaces to video/audio output devices (e.g., a computer, a TV or a telephone) and can be integrated as a part of the video/audio output device. A user can be connected to servers 102 and 107 with various user interfaces such as on-screen images and cursor-like devices.
Various VOD systems have been proposed and/or developed. Some have been tested in small-scale trials. A number of existing field trials of VOD systems are reviewed by T. S. Perry in xe2x80x9cThe Trials and Travails of Interactive TV,xe2x80x9d IEEE Spectrum, pp. 22-28, April, 1996.
One solution to provide true VOD services uses a dedicated video stream for each customer, i.e., the system resources associated with video delivery, namely, disk head usage and network bandwidth, are not shared. This is also referred to as a non-batching approach. Such systems usually are expensive since each stream requires high-speed video retrieval and transport, and can be inefficient because multiple identical video streams are sent to multiple customers accessing the same video. Existing VOD field trials typically deliver MPEG-1 or MPEG-2 compressed video, requiring 1.5 Mbps and 3 Mbps, respectively. Therefore, in the non-batching approach, the number of users which can be simultaneously served in a true VOD mode is limited by the system resources.
A batching approach can be used to increase the capacity or the number of simultaneous users of a given system. Batching divides users into groups. All users in the same group are served by the same video stream. One may group users according to their video request time.
FIGS. 1B and 1C show non-batching and batching approaches, respectively. In a non-batching approach as in FIG. 1B, each user has a designated video stream generated by a designated video disk head, and transmitted to the user using dedicated network resources. A video disk head is typically multiplexed among multiple video streams. Therefore, the designated disk head may only correspond to a fraction of a physical video disk head. True VOD can be implemented this way for a limited number of users at a high cost.
In a batching approach as illustrated in FIG. 1C, the same video stream 140 is multicasted to, and shared by, multiple users 120 accessing the same video. Sharing is implemented both at the disk head and in the network. Thus, usage of the system resource per user is reduced and thereby the system capacity is increased. Many video delivering systems have implemented such batching mechanisms with limited user interactivity.
U.S. Pat. No. 5,357,276 to Banker et al., discloses a staggered VOD. This system broadcasts multiple staggered-in-time copies (streams) of the same video program. Specifically, a copy of the same video program is broadcasted to a group of users in a batch in a fixed batching interval. A user is always being served by one of the streams. User interactions are simulated, where practical, by switching to different streams. However, not all user interactions can be simulated in this fashion. Fast forward, i.e., displaying the video at a rate higher than the normal playback rate, is one example of a user interaction which cannot be simulated since none of the broadcast streams is in a fast forward mode.
Several interactive functions can be simulated with this system including pause, jump forward/jump back operations. However, the interactive effects are limited by the staggering structure, specifically by the staggering interval thereof. For example, if the staggering interval is 5 minutes, a user may jump forward or backwards by intervals of 5 minutes, 10 minutes, 15 minutes, etc. However, the user cannot jump for 7 minutes, since no stream is offset in time by 7 minutes from the stream currently being viewed by the user.
In addition, the system disclosed in U.S. Pat. No. 5,357,276 has low utilization of the system resources. A video stream needs to be broadcasted in every fixed batch interval for the duration of a program in order to accommodate the limited interactive functions available in the system, independent of the number of requests in a particular batching interval. Thus, a generated video stream may not have a user at all.
U.S. Pat. No. 5,477,263 to O""Callaghan et al. also describes a similar staggering scheme to support a near VOD system.
U.S. Pat. No. 5,629,732 to Moskowitz and Rizkalla distinguishes between low demand (unpopular) and high demand (popular) videos. No sharing is allowed in delivering low demand videos, while a staggering scheme similar to U.S. Pat. No. 5,357,276 is used for high demand videos.
For high demand video, the whole video is stored in random access memory (RAM), and video streams are created with starting times staggered in time. A pointer is created to point to the present location of each such stream. User interactions are simulated by pointer hopping. This scheme suffers from the disadvantages, which we have described earlier, associated with staggering schemes. In addition, it requires much RAM since each popular video has to be stored completely in RAM.
U.S. Pat. No. 5,461,415 to Wolf et al. and U.S. Pat. No. 5,453,779 to Dan et al. disclose systems that implement a xe2x80x9clook-ahead schedulingxe2x80x9d scheme in combination with the concept of batching. Each user is assigned a xe2x80x9cset-asidexe2x80x9d buffer memory to hold a portion of the video. When a user in the batch pauses, the stream feeds the set-aside buffer. If the user resumes within the capacity of the set-aside buffer, the user video is reconstructed based on the storage in the buffer. The system also reserves resources for each user in the batch for situations where the pause is resumed after the capacity of the set-aside buffer has been exceeded. Such reserved resources may be in the form of on-going video streams which terminate within the capacity of the set-aside buffer (e.g., measured in duration of the video segment that can be stored) or in the form of new video streams. This system, however, only supports pause and resume operations and hence is not a true VOD system.
Ameroth and Ammar disclose a system with buffer memory in the set-top boxes to provide limited interactive functions in a near VOD service utilizing staggered streams in xe2x80x9cThe use of multicast delivery to provide a scalable and interactive video-on-demand service,xe2x80x9d IEEE Journal On Selected Areas in Communications, Vol 14, No. 6, pp. 1110-1122, August 1996.
Li et al. disclose a true VOD system in xe2x80x9cPerformance Model of Interactive Video-On-Demand Systems,xe2x80x9d IEEE Journal of Selected Areas in Communications, 14(6):1099-1109, August, 1996. Multiple users share a video stream during normal play. User interactions are accommodated by creating a new stream for each interactive user. The user holds this newly-created stream until disconnection (e.g., the end of a program or the user quitting in the middle of the program). However, this system is most effective when a small number of users are expected to issue interactive operations. Initiation of more and more user interactions degrades the system to a non-sharing mode in which all merits of batching are essentially lost.
Hence, the prior art has demonstrated that sharing a video stream can increase the number of users that are simultaneously served by a given system. However, the majority of the prior-art systems have implemented sharing in a way that does not allow true user interactivity. The inventors recognize that it is desirable to have a true VOD system which allows sharing and true user interactivity. Such a system is described in this disclosure.
The inventors recognized that it is desirable to implement sharing of a video stream to increase the number of users that are simultaneously served by a given system. The inventors further recognized that sharing should be implemented in a way that allows true user interactivity.
It is one aspect of the invention to provide a mechanism to substantially increase or maximize the sharing of the video streams while supporting a full spectrum of user interactive operations in a video distribution system. A preferred system increases or optimizes the system resource utilization, increases or maximizes the number of simultaneous users, and allows truly interactive video services.
One embodiment of the true VOD system comprises: an information channel (e.g., a network) which transports digital data and communication signals; a plurality of data receivers (e.g., set-top boxes) connected to the information channel; at least one digital server, storing information and multicasting a plurality of data streams indicative of the stored information into the information channel; and an electronic controller connected to the information channel, operating to control the multicasting and to implement true VOD service.
In one preferred mode of operation, requests for a video may be initially served in batches, resulting in sharing a multicast video stream by multiple users in a batch. A split-and-merge (SAM) protocol based on batching is used to control the operations of a true VOD system of the invention. This protocol allows user interactions to be issued at any time during the transmission of a video program. An interactive user may be split off from the shared video stream, and temporarily assigned a dedicated video stream. Since dedicated resources are available, any type of user interactions may be supported. After resuming normal play, the user is merged back into one of the on-going batched video streams of the same video program, and the temporarily-assigned video stream is released.
One feature of the invention includes using a synchronization buffer (xe2x80x9csynch bufferxe2x80x9d) to synchronize two video streams which are offset in time. The synch buffer receives data from a video stream and temporarily stores the data. Subsequently, the synch buffer can be commanded to export the stored input video and thereby creates a new xe2x80x9cvirtualxe2x80x9d video stream. That virtual video stream can have a time offset from the original input stream. The amount of possible offset is a function of the amount of the buffer memory used. The synch buffer may be used for directly implementing or assisting a user interaction. In so doing, the use of the synch buffer improves the efficiency of the batching approach.
A combination of the synch buffer and the split-and-merge protocol allows an increased or maximized sharing of the system resources and true user interactions.
One advantage of the invention is the full user interactivity. A user can select any program available in a remote content archives at any time and can interact with the program at any time. For example, the user can perform user interactions in a program such as random access to any point in a program, fast forward, rewind, pause and resume, slow motion play, fast play, and other controls (e.g., VCR-like functions).
Another advantage of the invention is efficient utilization of the system resources by sharing video streams using the split-and-merge protocol and the user synch buffer.
These and other aspects and advantages of the present invention will become more apparent in light of the following detailed description, the accompanying drawings, and the appended claims.